home *** CD-ROM | disk | FTP | other *** search
/ Programming Languages Suite / ProgramD2.iso / Borland / Borland C++ V5.02 / DELIVER.PAK / DELIVER.TXT < prev   
Text File  |  1997-05-06  |  7KB  |  186 lines

  1. Instructions for the ide example DELIVER.IDE.
  2. //
  3. // Instructions for Deliver.ide
  4. // Copyright Borland International, 1993
  5. //
  6.  
  7. PLEASE read this entire explanation before venturing off to use the
  8. Deliver utilities. It is important to understand this program reads and
  9. *writes* to your disk so be careful.
  10.  
  11. Deliver and Deliverd are tools for basic file manipulation during the
  12. making of a project. They are called Deliver because their main purpose
  13. is intended to be used as moving project targets (.exe,.lib, etc.) from
  14. an intermediate area to a final 'delivery' area, however having the
  15. source code to these programs allows you to extend and enhance their
  16. functionality. It can be used as 'Tool' menu item to do general house-
  17. cleaning.
  18.  
  19. The Deliver.exe is the Windows16 version of the program. It will run
  20. fast but does not provide feedback of what's it's doing and being a
  21. Windows app its 'return code' cannot be used to stop a build. The
  22. Deliverd.exe is the DOS16 version and can be used in make file scripts
  23. or in the IDE in conjunction with the $CAP MSG(BORL2MSG) filter to pump 
  24. status but it will run slower since it has to invoke a 'DOS box' to run. 
  25. Also, because it is a DOS app, its return code can be used to stop 
  26. a build in progress in case of mishap.
  27.  
  28. Deliver currently recognizes the following commands:
  29.  
  30. COPY     <source> [<source> ...] <destination>
  31. MOVE   <source> [<source> ...] <destination>
  32. MKDIR  <newdir> [<newdir> ...]
  33. CLEAN  <filespec> [<filespec> ... ]
  34. RENAME <oldname> <newname>
  35.  
  36. Of these commands COPY, MOVE, and CLEAN take wildcards in the first
  37. argument(s).
  38.  
  39. Any piece of a command line (including the command) can be placed into
  40. a response file. The response file name must be preceded with the '+'
  41. (plus) character. For example:
  42.  
  43.     deliverd move +mydeps.rsp c:\deliver
  44.  
  45. Where mydeps.rsp contains "c:\myproj\libs\*.lib c:\myproj\final\*.dll".
  46.  
  47. NOTE: Do not think that because some command names correspond to DOS
  48. commands with similar names and functionality, that they perform the
  49. same way. In many cases they do, but in many cases they do not (e.g.
  50. the RENAME command does not handle wildcards).
  51.  
  52.  
  53. USING DELIVERW/D IN THE IDE:
  54. ------------------------------
  55.  
  56. Deliver/d tools can be used in one of several ways:
  57.     1. Create a 'generic' utility to be used from the 'Tool' menu
  58.         that prompts for command line
  59.     2. Create a tool for every general combination you use it for
  60.     3.    Create one tool and use the 'Command line options' local
  61.         override field of every node you apply to tool to
  62.     4. Some combination of 2 and 3
  63.  
  64. To install Deliver in the 1. case, do the following:
  65.     Select Options|Tools from the main menu.
  66.     Add a NEW tool and fill in the fields as follows:
  67.       Name:      HouseCleaner
  68.       Path:      deliver.exe
  69.       Command:   $PROMPT
  70.       Menu:      &File utility
  71.       Help Hint: General house cleaning tool
  72.       OK, Close
  73.     
  74. For examples of number 2. see examples\windows\makeall.ide for Deliver's 
  75. use on the targets chelp, deliver, and helpex.
  76.  
  77. We will proceed assuming number 3. above since it is the most involved,
  78. however you will most likely experiment until you find the right balance
  79. for your projects. In any event, Deliver is most useful when attached 
  80. to a SourcePool nodes (but even that is not strict policy).
  81.  
  82. First you must add one (or both) of the Deliver .exe's as a tool:
  83.  
  84.     Select Options|Tools from the main menu.
  85.     Add a NEW tool and fill in the fields as follows:
  86.       Name:      Deliver
  87.       Path:      deliver.exe
  88.       Command: 
  89.       Menu:      &Deliver
  90.       Help Hint: Node's file deliver utility
  91.  
  92.     Select the Advanced button:
  93.       check   Translator,
  94.       check   Place on SpeedMenu,
  95.       uncheck Place on Tools menu
  96.       Translate from: SourcePool;
  97.                             (Spelling counts, so does case!!)
  98.     OK, OK, Close.
  99.  
  100. Now you are ready to apply the tool to a node in your project:
  101.  
  102.     Select Project|New Target
  103.     Fill in the 'Target name:' field
  104.     Select 'Source Pool' from the 'Target type' dropdown
  105.     OK (this will create a new [SourcePool] node in your project)
  106.     Select 'Edit node attributes' from the node's SpeedMenu 
  107.     Select 'Deliver' from the 'Translators:' dropdown
  108.     OK
  109.     Select 'Edit local options' from the node's SpeedMenu
  110.     Select 'Tool' from the 'Topics list'
  111.     Enter the deliver command line in the 'Command line options' field
  112.     OK
  113.  
  114. NOTE: If you are using deliverd.exe, you will want to precede all 
  115. local command lines with:
  116.     $NOSWAP $CAP MSG(BOR2MSG.DLL)
  117.  
  118.     
  119. EXAMPLES:
  120. ----------
  121.  
  122. 1.    To deliver an [.hlp] target to delivery area "Q:\PRODUCT":
  123.       Add a SourcePool called "q:\product\myproj.hlp" with this local 
  124.       command line:
  125.          COPY  $NAME($EDNAME)$EXT($EDNAME) $DRIVE($EDNAME)$DIR($EDNAME)
  126.  
  127.       This will expand to:
  128.          COPY myproj.hlp q:\product\
  129.  
  130.       and will copy myproj.hlp from the current directory to q:\product.
  131.          
  132. 2. To make a tree of directories for a project:
  133.         Add a SourcePool called "Tree Maker" with this local command line:
  134.           MKDIR OBJS OBJS\S OBJS\M OBJS\L OBJS\H
  135.  
  136. 3. To clean the tree of directories for a project:
  137.         Add a SourcePool called "Tree Cleaner" with this local command line:
  138.           CLEAN OBJS\S\*.* OBJS\M\*.* OBJS\L\*.* OBJS\H\*.*
  139.  
  140. 4. To copy sources to a safe area after an edit session:
  141.         Add a SourcePool called "Copy to safe"
  142.         Move all sources nodes you wish to copy under "Copy to safe"
  143.         Reference copy "Copy to safe" back to the target
  144.         On the original (bold) "Copy to safe" make 'Deliver' its
  145.         translator and put this local command line:
  146.             COPY +$RSP($DEPLIST) c:\safe\haven
  147.         
  148.         
  149. TIPS AND CAVEATS
  150. -----------------
  151.  
  152. 1. REMEMBER: This tool deletes and copies over files on disk.
  153.  
  154. 2. Do *not* experiment with this tool on projects you like. Make 
  155.     sure that a given piece of functionality you are trying to test 
  156.     works and works well in a testbed situation.
  157.  
  158. 3. If you are not sure what a given set of transfer macros will expand 
  159.     out to be, place a $PROMPT at the beginning of the command line and
  160.     run the tool. In the prompt box you get a preview of the command 
  161.     line that would be passed to the tool. You should *CANCEL* from 
  162.     this box if you have doubts about its validity.
  163.  
  164. 4. If you find yourself typing in the same local command more than a few
  165.     times, consider copying the original 'Deliver' tool. You do this 
  166.     by:
  167.         Select Options|Tools from the main menu
  168.         Select 'DeliverWin'
  169.         Push 'Copy' button
  170.         Change the name
  171.         Enter a command line
  172.         Change the menu text
  173.         OK, DONE 
  174.     
  175. 5.    There is no law that says this tool can only apply to [SourcePool]
  176.     node types, you apply the tool to .exe, .dll, AppExpert etc. by:
  177.         Select Options|Tools from the main menu
  178.         Select 'DeliverWin'
  179.         Push 'Edit' button
  180.         Push 'Advanced' button
  181.         In 'Translate from' field add ".exe;.dll" to what's there
  182.         OK, OK, DONE 
  183.     
  184.  
  185.  
  186.